package com.sakura.双指针;

public class Code283_移动零 {

    public void moveZeroes(int[] nums) {
        // 1 先找到 第一个0的位置
        int zeroIndex = -1;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i] == 0) {
                zeroIndex = i;
                break;
            }
        }
        // 2 从第一个0的位置开始，找到第一个非0的位置，然后交换
        for (int i = zeroIndex + 1; i < nums.length; i++) {
            if (nums[i] != 0) {
                int temp = nums[i];
                nums[i] = nums[zeroIndex];
                nums[zeroIndex] = temp;
                zeroIndex++;
            }
        }
    }
}
